// import 'package:flutter_local_notifications/flutter_local_notifications.dart';
// import 'package:timezone/data/latest.dart' as tz;
// import 'package:timezone/timezone.dart' as tz;
//
// class LocalNotificationService {
//   static final FlutterLocalNotificationsPlugin _notificationsPlugin =
//       FlutterLocalNotificationsPlugin();
//
//   // 初始化本地通知
//   static Future<void> initialize() async {
//     // 初始化时区数据
//     tz.initializeTimeZones();
//
//     // Android配置
//     const AndroidInitializationSettings initializationSettingsAndroid =
//         AndroidInitializationSettings('@mipmap/ic_launcher');
//
//     // iOS配置
//     const DarwinInitializationSettings initializationSettingsIOS =
//         DarwinInitializationSettings(
//       requestAlertPermission: true,
//       requestBadgePermission: true,
//       requestSoundPermission: true,
//     );
//
//     final InitializationSettings initializationSettings =
//         InitializationSettings(
//       android: initializationSettingsAndroid,
//       iOS: initializationSettingsIOS,
//     );
//
//     await _notificationsPlugin.initialize(
//       initializationSettings,
//       onDidReceiveNotificationResponse: (NotificationResponse response) {
//         // 处理通知点击事件
//         onNotificationTap(response.payload);
//       },
//     );
//   }
//
//   // 显示即时通知
//   static Future<void> showNotification({
//     required int notificationId,
//     required String title,
//     required int progress,
//     String? payload,
//   }) async {
//     AndroidNotificationDetails androidPlatformChannelSpecifics =
//         AndroidNotificationDetails(
//       'download_channel',
//       '下载通知',
//       channelDescription: '显示下载进度',
//       // importance: Importance.max,
//       importance: Importance.none,
//
//       // priority: Priority.high,
//       priority: Priority.min,
//       enableVibration: false,
//       playSound: false,
//       silent: true,
//
//       ongoing: true,
//       onlyAlertOnce: true,
//       showProgress: true,
//       maxProgress: 100,
//       progress: progress,
//     );
//
//     NotificationDetails platformChannelSpecifics = NotificationDetails(
//       android: androidPlatformChannelSpecifics,
//       iOS: const DarwinNotificationDetails(),
//     );
//
//     await _notificationsPlugin.show(
//       notificationId,
//       title,
//       progress < 100 ? '下载中... $progress%' : '下载完成',
//       platformChannelSpecifics,
//       payload: payload,
//     );
//   }
//
//   // 显示定时通知
//   static Future<void> showScheduledNotification({
//     required String title,
//     required String body,
//     required DateTime scheduledTime,
//     String? payload,
//   }) async {
//     const AndroidNotificationDetails androidPlatformChannelSpecifics =
//         AndroidNotificationDetails(
//       'scheduled_notification_channel',
//       'Scheduled Notifications',
//       importance: Importance.max,
//       priority: Priority.high,
//     );
//
//     const NotificationDetails platformChannelSpecifics = NotificationDetails(
//       android: androidPlatformChannelSpecifics,
//       iOS: DarwinNotificationDetails(),
//     );
//
//     await _notificationsPlugin.zonedSchedule(
//       DateTime.now().millisecondsSinceEpoch ~/ 1000,
//       title,
//       body,
//       tz.TZDateTime.from(scheduledTime, tz.local),
//       platformChannelSpecifics,
//       payload: payload,
//       androidScheduleMode: AndroidScheduleMode.inexactAllowWhileIdle,
//       // androidScheduleMode: AndroidScheduleMode.alarmClock,
//       // uiLocalNotificationDateInterpretation:
//       // UILocalNotificationDateInterpretation.absoluteTime,
//     );
//   }
//
//   // 显示周期性通知
//   static Future<void> showPeriodicNotification({
//     required String title,
//     required String body,
//     required RepeatInterval interval,
//     String? payload,
//   }) async {
//     const AndroidNotificationDetails androidPlatformChannelSpecifics =
//         AndroidNotificationDetails(
//       'periodic_notification_channel',
//       'Periodic Notifications',
//       importance: Importance.max,
//       priority: Priority.high,
//     );
//
//     const NotificationDetails platformChannelSpecifics = NotificationDetails(
//       android: androidPlatformChannelSpecifics,
//       iOS: DarwinNotificationDetails(),
//     );
//
//     await _notificationsPlugin.periodicallyShow(
//       DateTime.now().millisecondsSinceEpoch ~/ 1000,
//       title,
//       body,
//       interval,
//       platformChannelSpecifics,
//       payload: payload,
//       androidScheduleMode: AndroidScheduleMode.inexactAllowWhileIdle,
//     );
//   }
//
//   // 取消所有通知
//   static Future<void> cancelAllNotifications() async {
//     await _notificationsPlugin.cancelAll();
//   }
//   static Future<void> cancelNotification(int notificationId) async {
//     await _notificationsPlugin.cancel(notificationId);
//   }
//
//
//   // 处理通知点击
//   static void onNotificationTap(String? payload) {
//     // print('通知被点击，携带数据: $payload');
//     // 在这里处理通知点击事件
//   }
// }
